package com.ytjj.qmyx.supplychain.common.model.request.link;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import lombok.ToString;

import java.util.Date;
import java.util.List;

@ToString
public class OrderUploadLinkRequest {
    private String externalOrderId;
    private String userId;
    private String extUserId;
    private String businessUnitId;
    private String shopNick;
    /**
     * 渠道编码，可在https://www.yuque.com/docs/share/8a867b09-4823-4136-b653-f4b423eae65e?#Koup进行查询
     * true
     */
    private String orderSource;
    /**
     * 订单跨境业务类型  true
     * BONDED_WHS 跨境保税 OVERSEAS_DS 跨境集货 OVERSEAS_WHS 海外备货 07 大贸
     */
    private String orderType;
    /**
     * 仓库编码，发货模式为跨境保税和海外中心仓时必填，编码由菜鸟小二提供
     */
    private String storeCode;
    /**
     * 不包含在商品价格中的运杂费。当前币种最小单位（分），只能填正整数
     */
    private long postFee;
    /**
     * 币制
     */
    private String currency;
    private String buyerName;
    private String buyerId;
    private int buyerIDType;
    private String buyerIDNo;
    private String payType;
    private String payOrderId;
    private String buyTime;
    private String payTime;
    private String message;
    /**
     * 订单完税价 = 商品申报货值 + 运费 + 保险费
     */
    @JSONField(name = "DutiablePrice")
    private long DutiablePrice;
    /**
     * 关税 = 完税价 * 关税税率 * 折扣
     */
    @JSONField(name = "CustomsTax")
    private long CustomsTax;
    /**
     * 消费税 = ((完税价 + 关税) * 消费税率 / (1-消费税率)) * 折扣
     */
    @JSONField(name = "ConsumptionTax")
    private long ConsumptionTax;
    /**
     * 增值税 = (完税价 + 关税 + 消费税) * 增值税率 * 折扣
     */
    @JSONField(name = "VAT")
    private long VAT;
    /**
     * 综合税 = 关税 + 消费税 + 增值税
     */
    @JSONField(name = "TotalTax")
    private long TotalTax;
    /**
     * 保险费
     */
    @JSONField(name = "Insurance")
    private long Insurance;
    /**
     * 优惠
     */
    @JSONField(name = "Coupon")
    private long Coupon;
    @JSONField(name = "Actualpayment")
    private long Actualpayment;

    private List<Goods> goodsList;
    private Contact receiverContact;
    private Contact senderContact;
    private Contact refunderContact;

    public String getExternalOrderId() {
        return externalOrderId;
    }

    public void setExternalOrderId(String externalOrderId) {
        this.externalOrderId = externalOrderId;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getExtUserId() {
        return extUserId;
    }

    public void setExtUserId(String extUserId) {
        this.extUserId = extUserId;
    }

    public String getBusinessUnitId() {
        return businessUnitId;
    }

    public void setBusinessUnitId(String businessUnitId) {
        this.businessUnitId = businessUnitId;
    }

    public String getShopNick() {
        return shopNick;
    }

    public void setShopNick(String shopNick) {
        this.shopNick = shopNick;
    }

    public String getOrderSource() {
        return orderSource;
    }

    public void setOrderSource(String orderSource) {
        this.orderSource = orderSource;
    }

    public String getOrderType() {
        return orderType;
    }

    public void setOrderType(String orderType) {
        this.orderType = orderType;
    }

    public String getStoreCode() {
        return storeCode;
    }

    public void setStoreCode(String storeCode) {
        this.storeCode = storeCode;
    }

    public long getPostFee() {
        return postFee;
    }

    public void setPostFee(long postFee) {
        this.postFee = postFee;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public String getBuyerName() {
        return buyerName;
    }

    public void setBuyerName(String buyerName) {
        this.buyerName = buyerName;
    }

    public String getBuyerId() {
        return buyerId;
    }

    public void setBuyerId(String buyerId) {
        this.buyerId = buyerId;
    }

    public int getBuyerIDType() {
        return buyerIDType;
    }

    public void setBuyerIDType(int buyerIDType) {
        this.buyerIDType = buyerIDType;
    }

    public String getBuyerIDNo() {
        return buyerIDNo;
    }

    public void setBuyerIDNo(String buyerIDNo) {
        this.buyerIDNo = buyerIDNo;
    }

    public String getPayType() {
        return payType;
    }

    public void setPayType(String payType) {
        this.payType = payType;
    }

    public String getPayOrderId() {
        return payOrderId;
    }

    public void setPayOrderId(String payOrderId) {
        this.payOrderId = payOrderId;
    }

    public String getBuyTime() {
        return buyTime;
    }

    public void setBuyTime(String buyTime) {
        this.buyTime = buyTime;
    }

    public String getPayTime() {
        return payTime;
    }

    public void setPayTime(String payTime) {
        this.payTime = payTime;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public long getDutiablePrice() {
        return DutiablePrice;
    }

    public void setDutiablePrice(long dutiablePrice) {
        DutiablePrice = dutiablePrice;
    }

    public long getCustomsTax() {
        return CustomsTax;
    }

    public void setCustomsTax(long customsTax) {
        CustomsTax = customsTax;
    }

    public long getConsumptionTax() {
        return ConsumptionTax;
    }

    public void setConsumptionTax(long consumptionTax) {
        ConsumptionTax = consumptionTax;
    }

    public long getVAT() {
        return VAT;
    }

    public void setVAT(long VAT) {
        this.VAT = VAT;
    }

    public long getTotalTax() {
        return TotalTax;
    }

    public void setTotalTax(long totalTax) {
        TotalTax = totalTax;
    }

    public long getInsurance() {
        return Insurance;
    }

    public void setInsurance(long insurance) {
        Insurance = insurance;
    }

    public long getCoupon() {
        return Coupon;
    }

    public void setCoupon(long coupon) {
        Coupon = coupon;
    }

    public long getActualpayment() {
        return Actualpayment;
    }

    public void setActualpayment(long actualpayment) {
        Actualpayment = actualpayment;
    }

    public List<Goods> getGoodsList() {
        return goodsList;
    }

    public void setGoodsList(List<Goods> goodsList) {
        this.goodsList = goodsList;
    }

    public Contact getReceiverContact() {
        return receiverContact;
    }

    public void setReceiverContact(Contact receiverContact) {
        this.receiverContact = receiverContact;
    }

    public Contact getSenderContact() {
        return senderContact;
    }

    public void setSenderContact(Contact senderContact) {
        this.senderContact = senderContact;
    }

    public Contact getRefunderContact() {
        return refunderContact;
    }

    public void setRefunderContact(Contact refunderContact) {
        this.refunderContact = refunderContact;
    }


//
//    /**
//     * 货主id
//     * true
//     */
//    private String ownerUserId;
//    /**
//     * ERP订单编码，订单去重依据
//     * true
//     */
//    private String externalOrderCode;
//    /**
//     * 交易平台交易编码,供识别/查询使用
//     * false
//     */
//    private String externalTradeCode;
//    /**
//     * 订单跨境业务类型  true
//     * BONDED_WHS 跨境保税 OVERSEAS_DS 跨境集货 OVERSEAS_WHS 海外备货 07 大贸
//     */
//    private String orderType;
//    /**
//     * 仓储编码，ERP指定仓库发货时需要传值，编码由菜鸟提供。如不传值则由菜鸟指定仓库发货
//     * true
//     */
//    private String storeCode;
//    /**
//     * 店铺ID
//     * false
//     */
//    private String externalShopId;
//    /**
//     * 店铺名称
//     * true
//     */
//    private String externalShopName;
//    /**
//     * 渠道编码，可在https://www.yuque.com/docs/share/8a867b09-4823-4136-b653-f4b423eae65e?#Koup进行查询
//     * true
//     */
//    private String orderSource;
//    /**
//     * 订单创建时间
//     * true
//     * 2014-01-12 12:00:00
//     */
//    private Date orderCreateTime;
//    /**
//     * 订单支付时间
//     * true
//     * 2014-01-12 12:00:00
//     */
//    private Date orderPayTime;
//    /**
//     * 销售模式0-线下 1-线上
//     * true
//     */
//    private String saleMode;
//    /**
//     * 收货方信息
//     * true
//     */
//    private ReceiverInfo receiverInfo;
//    /**
//     * 订单商品列表
//     * true
//     */
//    private List<OrderItem> orderItemList;
//    /**
//     * 订单金额信息
//     * false
//     */
//    private OrderAmountInfo orderAmountInfo;
//    /**
//     * 通关申报信息，跨境场景必填
//     * false
//     */
//    private CustomsDeclareInfo customsDeclareInfo;
}
